Why does IDS use a message bus?

Here are some of the reasons IDS uses a message bus:

A message bus is a modern solution that enables a potentially unlimited number of clients to be loosely coupled with a lesser number of servers. The alternative would be to have as many servers as there are clients. This is usually not an effective use of resources on the server side.

Other servers, like Microsoft IIS, IBM WebSphere and Apache HTTP Server, are all using a message bus to resolve this resource problem since there is no one-to-one connection from client to server. When a web client (web browser) connects to the web server the server does not automatically start a new thread or process; it has a pool of these with a maximum size. Once the maximum size is reached, the server queues up the request and waits for the next available thread or process to serve it.

A message bus lets IDS do the following (neither of which is possible without using a message bus):

Fire-and-forget request. Clients do not have to wait for the result from a server; they can simply send the request and move on to other business. There is no need for the server to be up or available. When the server becomes available the request will be served.

Guaranteed delivery request. The server responds to a client request regardless of whether the server was available when the request was submitted. The client may have to wait for a response but the server will send it.

IDS uses industry standard messaging systems like IBM WebSphere MQ (former MQSeries) or Microsoft MSMQ. More message bus systems are supported in later versions of the server.

Most customers already have the messaging system in place so there is no additional cost associated with a message bus system. For example, MSMQ is part of Windows 2000 so in a Windows shop one of the message bus systems is readily available. 

Using a standard message bus system lets IDS take advantage of failover, load balancing, and clustering in products that are already installed without having to develop redundant or competitive systems.

A standard message bus system and industry standard SOAP protocol promotes cross-platform deployment with clients on one platform and server/servers on another. For example, clients on Windows can talk to servers on UNIX.